<!-- peer会议播放 -->
<template>
  <div class="video-window">
    <audio ref="otherAudio"
           playsInline
           autoplay />
    <video ref="otherVideo"
           autoplay
           playsInline
           muted
           class="video-style" />
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  props: {
    audioTrack: null,
    videoTrack: null
  },
  data () {
    //这里存放数据
    return {

    }
  },
  //方法集合
  methods: {
    // 初始化数据
    init () {
      try {

        if (this.audioTrack) {
          let audioStream = new MediaStream();
          audioStream.addTrack(this.audioTrack);
          this.$refs.otherAudio.srcObject = audioStream;
          this.$refs.otherAudio.play().catch((error) => console.warn('声音播放失败:', error));
        } else {
          this.$refs.otherAudio.srcObject = null;
        }
        if (this.videoTrack) {
          let videoStream = new MediaStream();
          videoStream.addTrack(this.videoTrack);
          this.$refs.otherVideo.srcObject = videoStream;
          this.$refs.otherVideo.play().catch((error) => console.warn('视频播放失败:%o', error));
        } else {
          this.$refs.otherVideo.srcObject = null;
        }
      } catch (e) {
        console.log(e)
      }
    }
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {
    audioTrack () {
      this.init();
    },
    videoTrack () {
      this.init();
    }
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created () {

  },
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted () {
    this.init();
  },
  //生命周期 - 创建之前
  beforeCreate () {

  },
  //生命周期 - 挂载之前
  beforeMount () {

  },
  //生命周期 - 更新之前
  beforeUpdate () {

  },
  //生命周期 - 更新之后
  updated () {

  },
  //生命周期 - 销毁之前
  beforeUnmount () {

  },
  //生命周期 - 销毁完成
  unmounted () {

  },
  //如果页面有keep-alive缓存功能，这个函数会触发
  activated () {

  }
}
</script>
<style lang='less' scoped>
//@import url(); 引入公共css类
.video-window {
  width: 3.2rem;
  height: 2rem;
  margin: 1px 2px;
  .video-style {
    width: 3.2rem;
    height: 2rem;
  }
}
</style>